Pull Request로 작업한 내용을 합치기 전, 커밋을 정리하고 싶을 때 git rebase -i
를 사용하곤한다. 브랜치 전략이나 git history관리를 어떻게 하느냐에 따라 조금씩 달라지긴 하겠지만 rebase할 베이스를 찾을 때 브랜치가 나뉘어진 시점, 즉, 내가 작업하기 시작한 지점을 찾아야할 때가 있다. 그럴 때 git merge-base A B
를 이용하면 편리하다. 이 커맨드는 common ancestor를 찾아준다. 예를 들어 develop
이 fork-point인 feature
브랜치에서 작업을 하고있다고 하자. 그럼 git merge-base HEAD develop
하면 나뉘어지는 지점의 커밋을 찾아준다.